Event Loop

자바스크립트의 엔진은 '메모리 힙' 과 '콜 스택'으로 구성이 되어있다.

자바스크립트는 단일 스레드 프로그래밍이고 이 뜻은

'콜스택' 이 하나라는거임

Event Loop는 콜스택과 콜백큐의 상태를 체크해서 콜스택이 빈상태가 되면 콜백큐의 첫번째 콜백을 콜스택에 밀어넣는것

자바스크립트는 싱글스레드인데 멀티 스레드처럼 어떤 작업을 우선으로 동작시키는지 정하는 흐름을 제어하는것이 이벤트루프

마이크로태스크 큐 , 애니메이션 프레임등의 것도있음

img.gif

긴 작업이 완료될 때까지 다른 모든 작업들이 멈춰있다가 해당 작업이 끝난 후에 다시 진행이 될 것입니다.
이러한 경우를 바로 블로킹이라고 합니다.

하지만 우리는 웹에서 파일도 다운로드하면서 웹 서핑도 하고 동영상도 보고 여러 가지 일을 할 수 있습니다.
이건 바로 논블로킹 방식 때문입니다.